package proyecto.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import proyecto.excepcion.DAOExcepcion;
import proyecto.modelo.Estacionamiento;
import proyecto.modelo.Propietario;
import proyecto.util.ConexionBD;

public class EstacionamientoDAO extends BaseDAO {

	public void insertar(Estacionamiento vo) throws DAOExcepcion {

		String query = "INSERT INTO propiedad(idPropietario, idBloque, codigo, tipoPropiedad) VALUES (?,?,?,?)";
		Connection con = null;
		PreparedStatement stmt = null;
		try {
			con = ConexionBD.obtenerConexion();
			stmt = con.prepareStatement(query);
			//stmt.setInt(1, vo.getIdpropiedad());
			stmt.setInt(1, vo.getIdPropietario());
			stmt.setInt(2, vo.getIdbloque());
			stmt.setString(3, vo.getCodigo());
			stmt.setString(4, vo.getTipoPropiedad());
			int i = stmt.executeUpdate();
			if (i != 1) {
				throw new SQLException("No se pudo insertar el registro!!!!");
			}
		} catch (SQLException e) {
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		} finally {
			this.cerrarStatement(stmt);
			this.cerrarConexion(con);

		}
	}

	public boolean validarExistencia(Estacionamiento re) throws DAOExcepcion {
		String query = "SELECT COUNT(*) FROM propiedad WHERE idpropiedad = ?";
		Connection con = null;
		PreparedStatement stmt = null;
		try {
			con = ConexionBD.obtenerConexion();
			stmt = con.prepareStatement(query);
			stmt.setInt(1, re.getIdpropiedad());
			ResultSet rs = stmt.executeQuery();
			rs.next();
			int count = rs.getInt(1);
			return (count > 0);

		} catch (Exception e) {
			System.out.println(e);
			throw new DAOExcepcion(e.getMessage());
		} finally {
			this.cerrarStatement(stmt);
			this.cerrarConexion(con);
		}
	}

}
